/***********************************************************************
 *
 * MODULE NAME:    host_config.h
 * DESCRIPTION:    Bluetooth Host Stack Global Configuration Options
 * AUTHOR:		   Martin Mellody
 *
 * SOURCE CONTROL: $Id: host_config.h,v 1.10 2009/03/18 06:00:52 tianwq Exp $
 *
 * LICENSE:
 *     This source code is copyright (c) 2000 RDA Microelectronics.
 *     All rights reserved.
 *
 ***********************************************************************/

/* This file should be included *FIRST* into every header and code file in the system */
#ifndef __HOST_CONFIG_H
#define __HOST_CONFIG_H

/* the base header file for user */
#include "bt.h"

/* check name length defines */
#if MGR_MAX_REMOTE_NAME_LEN>248
#error MGR_MAX_REMOTE_NAME_LEN too large
#endif

#if MGR_MAX_LOCAL_NAME_LEN>248
#error MGR_MAX_LOCAL_NAME_LEN too large
#endif

/* check requirements */
#if !(L2CAP_PRESENT && MANAGER_PRESENT)&&(SDP_SERVER|SDP_CLIENT)
#error SDP needs L2CAP_PRESENT, MANAGER_PRESENT
#endif

/* validify sdp defines */
#if SDP_SERVER && !(SDP_RECORD_GEN || SDP_ROM_SUPPORT)
#error SDP_RECORD_GEN or SDP_ROM_SUPPORT must be defined.
#elif SDP_SERVER && SDP_RECORD_GEN && SDP_ROM_SUPPORT
#error Only 1 of SDP_RECORD_GEN or SDP_ROM_SUPPORT may be defined.
#elif SDP_ROM_CREATION && !SDP_RECORD_GEN
#error To use SDP_ROM_CREATION, SDP_RECORD_GEN must be set.
#endif 

#if SDP_CLIENT && !(SDP_SS_AND_SA_SUPPORT || SDP_SSA_SUPPORT)
#error SDP_SS_AND_SA_SUPPORT or SDP_SSA_SUPPORT must be defined
#elif SDP_CLIENT && SDP_GENERIC_BROWSE && !SDP_SSA_SUPPORT
#error SDP_GENERIC_BROWSE needs SDP_SSA_SUPPORT
#endif

#if (RDABT_RFCOMM_RSE_SUPPORT == 0) && (RDABT_RFCOMM_PE_SUPPORT==0) && (RFCOMM_PRESENT == 1)
#error "RFCOMM included in build but no PE or RSE support"
#endif

#if (OBEX_PRESENT==1) && (RDABT_RFCOMM_RSE_SUPPORT==0)
#error "OBEX present in build but no RSE support"
#endif


#if RFCOMM_PRESENT == 1
#if RDABT_L2CAP_AUTO_CONFIG == 0
#error "Auto configuration must be selected for RFCOMM/TCS"
#endif
#endif

#ifndef pDEBUG
#define pDEBUG 0
#endif

/* 
    These ACPIDECLx macros are platform-specific and are provided by platform_config.h
    These are used to provide linkage qualifiers, e.g. on Win32 the "dllexport" specifier 
*/
#ifndef APIDECL1
#define APIDECL1
#endif

#ifndef APIDECL2
#define APIDECL2
#endif

/* include common use header files*/
#include "host_buf.h"
#include "host_msg.h"
#include "host_timer.h"
#include "host_mem.h"
#if (COMBINED_HOST==1)
#define RDABT_BS_CFG_SYS_TRACE_DEBUG_VIA_UART_SUPPORTED 0
#endif
#endif /*__HOST_CONFIG_H */

